from pydantic import BaseModel
from typing import List, Optional, Dict, Any

class AuditRequest(BaseModel):
    post_id: int
    title: str
    content: str
    user_id: int
    category: Optional[str] = None
    tags: Optional[List[str]] = None

class AuditResult(BaseModel):
    post_id: int
    audit_result: str  # PASS, REVIEW, REJECT
    confidence: float
    reasons: List[str] = []
    suggestion: str = ""

class AuditFeedback(BaseModel):
    post_id: int
    admin_id: int
    ai_decision: str
    final_decision: str
    is_correct: bool
    feedback: Optional[str] = None 